package com.hsh.tools;

import java.util.regex.Matcher;
import java.util.regex.Pattern;

/**
 * 数据常量类
 */
public final class FinalData {
    /**
     * shiro-加密类型
     */
    public static final String HASH_ALGORITHM_NAME_MD5 = "MD5";
    /**
     * shiro-加密次数
     */
    public static final Integer HASH_ITERATIONS = 1024;
    /**
     * 当前用户
     */
    public static final String ACTIVE_USER = "activeUser";

    /**
     * 文件重复的标记处理
     */
    public static final String UPLOAD_FILE_REPETITION_FLAG = "__";

    /**
     * @param string 原字符串
     * @param index  第几次出现
     * @param flag   符号标记
     * @return 返回 flag 在原字符串中第 index 出现的位置
     */
    public static int getCharacterPosition(String string, Integer index, String flag) {
        // 这里是获取 flag 符号的位置
        Matcher slashMatcher = Pattern.compile(flag).matcher(string);
        int mIdx = 0;
        while (slashMatcher.find()) {
            mIdx++;
            //当 flag 符号第三次出现的位置
            if (mIdx == index) {
                break;
            }
        }
        return slashMatcher.start();
    }
}
